Software Defined Network (SDN) is a novel network architecture, which separates control functionality from a network switch device, immigrates it to a logically independent network control system and thereby achieves flexible control of network traffic.
In SDN, there is a logical control layer and a device layer. The control layer is a part which makes forwarding decisions in a data network, including management, routing protocol, routing policy, etc. The device layer includes querying, switching and buffering with respect to each packet, e.g., including switches (SDN switches) supporting SDN protocols (such as the Openflow protocol).
A basic function of the SDN control layer is to manage rules inside a switch, e.g., when and how to remove a rule from a flow table of the switch. Typically the SDN switch leverages timeout (i.e., a maximum time interval between two packets) to remove rules of inactive flows. If the timeout is too short, then frequent interaction between the control layer and the switch is caused, which adds latency. On the other hand, as limited by hardware in the SDN switch, too long timeout will make the switch's flow table filled with a lot of inactive rules. Therefore, the effectiveness of timeout judgment will prejudice basic performance of SDN.